package com.example.demo.common;

import com.example.demo.common.exception.BaseErrorInfo;

/**
 * エラー定数クラス
 */
public enum CommonEnum implements BaseErrorInfo {

    // error code
    SUCCESS(200, "正常応答"),
    BUSINESS_ERROR(401, "業務エラー応答"),
    NO_PERMISSION(402,"無許可"),
    SYSTEM_ERROR(500, "システムエラー応答"),
    // 業務エラー
    UPDATE_ERROR(301, "更新失敗"),
    INSERT_ERROR(302, "登録失敗"),
    // エラー情報定義
    PARAM_NOT_MATCH(403,"要求値が正しくありません。"),
    NOT_ACCESS(403, "アクセス権がありません。ネットワーク管理者に連絡してください"),
    NOT_FOUND(404,"ご指定いただいた期間には照会可能な明細はありません。"),
    BODY_NOT_MATCH(501,"要求されたデータフォーマットが一致しません!"),
    
    MAIL_SUCCESS(552,"メールを送信を成功する"),
    MAIL_FAILED(553,"メールを送信できませんでした。管理者に連絡してください");
    

    /** エラーコード */
    private Integer resultCode;

    /** エラーメッセージ */
    private String resultMsg;


    CommonEnum(Integer resultCode, String resultMsg) {
        this.resultCode = resultCode;
        this.resultMsg = resultMsg;
    }

    @Override
    public Integer getResultCode() {
        return resultCode;
    }

    @Override
    public String getResultMsg() {
        return resultMsg;
    }
}
